NodeJS实现不可逆加密与密码密文保存的方法 您所在的位置:网站首页 how to decrypt病毒 NodeJS实现不可逆加密与密码密文保存的方法

NodeJS实现不可逆加密与密码密文保存的方法

2023-04-06 01:07| 来源: 网络整理| 查看: 265

纽扣扣错了可以重扣,但人生不行,除非你选对了人生道路。早上起床你一句早安,晚上睡觉一句晚安。对我来说这就是极有意义的一天。

本文实例讲述了NodeJS实现不可逆加密与密码密文保存的方法。分享给大家供大家参考,具体如下:

在应用中,常常有要将用户的密码加密储存的需要。

以明文保存密码有个缺点:一旦泄漏时容易造成极大的损失,可能会连带其他网站的用户、密码也造成损失(因为大多数用户在多数网站使用相同的账号与密码)。

这个泄漏可能来自于两方面:骇客入侵与运维人员监守自盗。

为了防止在密码明文泄漏,我们需要对在数据库中保存的密码字段进行不可逆加密。准确地说,是加密以后再保存到数据库中。

常用的不可逆加密算法有MD5与SHA-1。

在NodeJS中,它们的使用极为简便,直接使用官方内建的 crypto 包即可:

var clearText = '123456'; // MD5 Hash require('crypto').createHash('md5').update(clearText).digest('hex'); // 'e10adc3949ba59abbe56e057f20f883e' // SHA-1 Hash require('crypto').createHash('sha1').update(clearText).digest('hex'); // '7c4a8d09ca3762af61e59520943dc26494f8941b'

当用户注册时,将用户提交的密码先不可逆加密,然后将密文保存在数据库内。

当用户登录时,将用户提交的密码先以相同方式加密,然后与数据库中的密文比对,来判断密码的正误。

理论上有无数个密码对应同一个Hash值,不过不用过于担心被撞表的风险,因为相比之下,你的Web服务器与数据库可能会在泛洪攻击中先行崩溃。

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

在线SHA1加密工具: http://tools.haodaima.com/password/sha1encode

MD5在线加密工具: http://tools.haodaima.com/password/CreateMD5Password

文字在线加密解密工具(包含AES、DES、RC4等): http://tools.haodaima.com/password/txt_encode

在线散列/哈希算法加密工具: http://tools.haodaima.com/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具: http://tools.haodaima.com/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具: http://tools.haodaima.com/password/sha_encode

希望本文所述对大家nodejs程序设计有所帮助。

本文NodeJS实现不可逆加密与密码密文保存的方法到此结束。太阳像个老大老大的火球,光线灼人,公路被烈日烤得发烫,脚踏下去一步一串白烟。小编再次感谢大家支持!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有